Skip to content

feat(wio-e5): promote Seeed Wio-E5 to actively supported - #11648

Draft
ndoo wants to merge 1 commit into
meshtastic:developfrom
meshmy:wio-e5-officially-supported
Draft

feat(wio-e5): promote Seeed Wio-E5 to actively supported#11648
ndoo wants to merge 1 commit into
meshtastic:developfrom
meshmy:wio-e5-officially-supported

Conversation

@ndoo

@ndoo ndoo commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

What this does

Promotes the wio-e5 STM32WL variant to an actively supported Meshtastic device, mirroring #11647 for rak3172.

Adds the custom_meshtastic_* metadata block to [env:wio-e5] in variants/stm32/wio-e5/platformio.ini, alongside the existing [env:rak4631] and [env:rak3172] blocks. bin/platformio-custom.py reads these keys and emits a per-board build manifest with activelySupported: true, supportLevel: 1, hwModel: 73, hwModelSlug: "WIO_E5", architecture: "stm32", displayName: "Seeed Wio-E5", tags: ["Seeed"]. The web flasher board list and api.meshtastic.org/resource/deviceHardware are generated from those manifests, so the board becomes a selectable device.

displayName is Seeed Wio-E5 because this single variant builds firmware for both Seeed boards that carry the LoRa-E5 (STM32WLE5JC) module: the Wio-E5 Development Kit and the Wio-E5 mini. They share the module pin map and the PB5 status LED. custom_meshtastic_images is omitted because meshtastic/web-flasher has no wio-e5.svg; the flasher and the CI board-diff comment degrade to no image.

board_level stays pr (the smallest CI matrix subset, also built in every larger matrix), matching [env:rak4631] and [env:rak3172].

variants/stm32/wio-e5/variant.h: the header comment is rewritten to drop the "work in progress / do not expect a working Meshtastic device" disclaimer, which contradicts an actively-supported declaration, and to record that the one variant covers both boards. The current Seeed wiki URLs replace the dead store links. No code in variant.h changes (LED_POWER PB5, the WIO_E5 define, and the guards are untouched).

No protobuf change: WIO_E5 = 73 and the HW_VENDOR mapping for _VARIANT_WIOE5_ already exist in the tree.

Verification

pio run -e wio-e5 succeeds. Flash 93.0% (230384 / 247808 bytes), RAM 41.5% (27172 / 65536 bytes). The generated .pio/build/wio-e5/firmware-wio-e5-*.mt.json contains the expected activelySupported, supportLevel, hwModel, hwModelSlug, architecture, displayName, and tags values. ./bin/generate_ci_matrix.py stm32 --level pr still lists wio-e5. trunk fmt clean on both files.

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below): WIO_E5 — build-verified only so far

Add the custom_meshtastic_* metadata block to [env:wio-e5], mirroring
[env:rak4631] and [env:rak3172], so bin/platformio-custom.py emits a
manifest with activelySupported=true, supportLevel=1, hwModel=73 and
hwModelSlug=WIO_E5. The flasher board list and
api.meshtastic.org/resource/deviceHardware are generated from these
per-board manifests, so the board now appears as a selectable device.
displayName is "Seeed Wio-E5", covering both boards the variant builds
for. No custom_meshtastic_images: web-flasher has no wio-e5.svg.

board_level stays pr (the smallest matrix subset, also built in every
larger matrix), matching [env:rak4631] and [env:rak3172].

Rewrite the variant.h header comment: drop the "work in progress / do
not expect a working device" disclaimer, which contradicts an actively
supported declaration, and state that the one variant covers both the
Wio-E5 Development Kit and the Wio-E5 mini, which share the LoRa-E5
module pin map and the PB5 status LED.

No protobuf change: WIO_E5 = 73 and the HW_VENDOR mapping for
_VARIANT_WIOE5_ already exist.

Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Andrew Yong <me@ndoo.sg>
@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

⚡ Try this PR in the Web Flasher

Note

Building this pull request… the flash button, badges and supported-board
list will appear here automatically once CI finishes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant